Vebə yerləşdirmə#
Proqramınızı başqaları internetdən açsın deyə bir əmr kifayətdir:
cd Sənədlər\Alqor\saytım
alqor yerləşdirNəticə qurma\yerləşdir\ qovluğudur. İçində YERLESDIR.md var: seçdiyiniz platforma üçün addım-addım təlimat. Studio-da: İşlət → Qur: vebə yerləşdir.
İki növ — Alqor özü seçir#
| Proqramınız | Nəticə | Harada yerləşir |
|---|---|---|
gətir veb yoxdur (konsol proqramı, hesablamalar, oyun) | Statik sayt: index.html — proqram JavaScript-ə çevrilib brauzerdə işləyir | Netlify, GitHub Pages, Cloudflare Pages, istənilən hostinq — pulsuz, server lazım deyil |
gətir pəncərə var (desktop tətbiqi: komponentlər, vidjetlər) | Statik sayt: pəncərə səhifənin özündə açılır, düymələr brauzerdə işləyir | eyni — pulsuz, server lazım deyil |
gətir veb var (veb.Server, API, formalar) | Server paketi: tetbiq.pyz + Dockerfile | Render, Fly.io, Railway, öz VPS-iniz |
Məcburi seçmək: alqor yerləşdir --statik və ya --server.
Statik sayt#
gətir konsol
funksiya əsas()
dəyişən ad = konsol.soruş("Adınız: ", standart: "dünya")
yaz(konsol.yaşıl("Salam, {ad}!"))
sonalqor yerləşdir → qurma\yerləşdir\index.html. Əvvəlcə yoxlayın: faylı iki dəfə klikləyin — proqram brauzerdə işləyir. oxu() və konsol.soruş() brauzerdə sual pəncərəsi açır.
Netlify Drop — 1 dəqiqə#
- https://app.netlify.com/drop açın (pulsuz qeydiyyat).
qurma\yerləşdirqovluğunu səhifəyə sürükləyin.https://<ad>.netlify.appünvanı dərhal işləyir.
GitHub Pages#
alqor yerləşdir --çıxış docs
git add docs
git commit -m "Sayt"
git pushGitHub-da: Settings → Pages → Branch: main, Folder: /docs. Ünvan: https://<istifadəçi>.github.io/<repo>/.
Desktop tətbiqi — eyni kod, server yoxdur#
gətir pəncərə
komponent Sayğac
vəziyyət say: tam = 0
göstər()
qaytar <button klik={() => özü.say += 1}>Basıldı: {özü.say}</button>
son
son
dəyişən p = yeni pəncərə.Pəncərə("Sayğac", 320, 200)
p.məzmun(<Sayğac />)
p.göstər()
pəncərə.işlət()alqor yerləşdir → index.html: pəncərənin məzmunu səhifədə görünür, düymə basılanda komponent yenidən göstərilir — hamısı brauzerdə, serversiz. Vidjetlər (vidjet.cədvəl, vidjet.form…) desktopdakı kimi görünür, menyu və qısayollar işləyir. dialoq.təsdiqlə / soruş brauzerin sual pəncərəsini açır; fayl dialoqları (faylAç, faylSaxla) və fayl sistemi brauzerdə yoxdur — basılanda səhifənin altında xəta görünür. Proqram gətir veb də işlədirsə (məs. -- veb arqumenti ilə server açan nümunələr), statik saytda yalnız desktop hissəsi işləyir.
Brauzerdə nə işləyir?#
Statik saytda proqram JavaScript-ə çevrilir. Bu modullar dəstəklənir: riyaziyyat, mətn, təsadüfi, vaxt, json, naxış, sistem, jurnal, paralel, konsol, vidjet, pəncərə, http (brauzerin CORS qaydaları ilə) və öz modullarınız. Başqa modul (veb, fayl, verilənlər…) işlədirsinizsə, alqor yerləşdir bunu deyir — onda server növünü seçin.
Server tətbiqi#
gətir veb
dəyişən s = yeni veb.Server()
s.al("/", (sorğu) => veb.html(<h1>Salam, dünya!</h1>))
s.al("/salam/:ad", (sorğu) => veb.html(<h1>Salam, {sorğu.parametr("ad")}!</h1>))
s.dinlə(8080)alqor yerləşdir bu faylları yaradır:
| Fayl | Nədir |
|---|---|
tetbiq.pyz | Proqramınız və Alqor icra mühiti, tək fayl |
Dockerfile | Konteyner təsviri (Python 3.12) |
YERLESDIR.md | Render, Fly.io və VPS üçün addımlar |
Port: kodda s.dinlə(8080) yazsanız da, platforma PORT mühit dəyişənini verirsə, server həmin portda açılır. ALQOR_HOST=0.0.0.0 serveri bütün şəbəkə interfeyslərində açır (Dockerfile bunu özü edir). Kodda heç nə dəyişmək lazım deyil.
Yerli yoxlama#
python qurma\yerləşdir\tetbiq.pyz # http://127.0.0.1:8080Render.com — pulsuz plan#
qurma\yerləşdirqovluğunu GitHub-da yeni repoya yükləyin.- render.com → New → Web Service → reponu seçin.
- Runtime: Docker avtomatik seçilir → Create Web Service.
- Bir neçə dəqiqəyə
https://<ad>.onrender.comhazırdır.
Öz serveriniz (VPS)#
docker build -t saytim .
docker run -d --restart always -p 80:8080 saytimDocker yoxdursa: serverdə Python 3.12 qurun və ALQOR_HOST=0.0.0.0 PORT=80 python tetbiq.pyz işlədin.
Yeniləmək#
Kodu dəyişdikdən sonra yenidən alqor yerləşdir işlədin və qovluğu təzədən yükləyin (Netlify-da sürükləyin, GitHub-da git push).
Problem olarsa#
- "statik sayta çevrilmədi:
Xmodulu JS hədəfində dəstəklənmir" —alqor yerləşdir --serverişlədin. - "proqramda xəta var" — əvvəlcə
alqor işlətilə xətanı düzəldin; xətalı proqram yerləşdirilmir. - Render-də sayt açılmır — Logs bölməsinə baxın;
PORT-u kodda dəyişməyin, Alqor onu özü oxuyur.